package com.design.working.service;

import com.design.working.dto.LoginDTO;
import com.design.working.entity.Admin;
import com.design.working.entity.Counselor;
import com.design.working.entity.DeptEmployee;
import com.design.working.entity.Student;
import com.design.working.vo.ResponseVO;

/**
 * 登录服务层
 * @author gavin
 * @date 2022/5/7 20:57
 */
public interface LoginService {

    /**
     * 学生登录
     * @param loginDTO 前端传入的表单参数
     * @return 登录成功-返回用户信息；登录失败-返回错误提示
     */
    ResponseVO<Student> studentLogin(LoginDTO loginDTO);

    /**
     * 辅导员登录
     * @param loginDTO 前端传入的表单参数
     * @return 登录成功-返回用户信息；登录失败-返回错误提示
     */
    ResponseVO<Counselor> counselorLogin(LoginDTO loginDTO);

    /**
     * 用工部门员工登录
     * @param loginDTO 前端传入的表单参数
     * @return 登录成功-返回用户信息；登录失败-返回错误提示
     */
    ResponseVO<DeptEmployee> deptEmployeeLogin(LoginDTO loginDTO);

    /**
     * 管理员登录
     * @param loginDTO 前端传入的表单参数
     * @return 登录成功-返回用户信息；登录失败-返回错误提示
     */
    ResponseVO<Admin> adminLogin(LoginDTO loginDTO);
}
